﻿using System.Collections.Generic;
using System;
using Database;
//using IBE_Data;

namespace IBE
{
    public class AvailFlt
    {
        #region Members
        //1
        string _AirV = "";
        public string AirV { get { return _AirV; } set { _AirV = value; } }
        //2
        string _FltNum = "";
        public string FltNum { get { return _FltNum; } set { _FltNum = value; } }
        //3
        string _OpSuf = "";
        public string OpSuf { get { return _OpSuf; } set { _OpSuf = value; } }
        //4
        string _StartDt = "";
        public string StartDt { get { return _StartDt; } set { _StartDt = value; } }
        //5
        string _StartAirp = "";
        public string StartAirp { get { return _StartAirp; } set { _StartAirp = value; } }
        //6
        string _EndAirp = "";
        public string EndAirp { get { return _EndAirp; } set { _EndAirp = value; } }
        //7
        string _StartTm = "";
        public string StartTm { get { return _StartTm; } set { _StartTm = value; } }
        //8
        string _EndTm = "";
        public string EndTm { get { return _EndTm; } set { _EndTm = value; } }
        //9
        string _DayChg = "";
        public string DayChg { get { return _DayChg; } set { _DayChg = value; } }
        //10
        string _Conx = "";
        public string Conx { get { return _Conx; } set { _Conx = value; } }
        //11
        string _AirpChg = "";
        public string AirpChg { get { return _AirpChg; } set { _AirpChg = value; } }
        //12
        string _Equip = "";
        public string Equip { get { return _Equip; } set { _Equip = value; } }
        //13
        string _Spare1 = "";
        public string Spare1 { get { return _Spare1; } set { _Spare1 = value; } }
        //14
        string _NumStops = "";
        public string NumStops { get { return _NumStops; } set { _NumStops = value; } }
        //15
        string _OpAirVInd = "";
        public string OpAirVInd { get { return _OpAirVInd; } set { _OpAirVInd = value; } }
        //16
        string _Perf = "";
        public string Perf { get { return _Perf; } set { _Perf = value; } }
        //17
        string _LinkSellAgrmnt = "";
        public string LinkSellAgrmnt { get { return _LinkSellAgrmnt; } set { _LinkSellAgrmnt = value; } }
        //18
        string _DispOption = "";
        public string DispOption { get { return _DispOption; } set { _DispOption = value; } }
        //19
        string _InsideAvailOption = "";
        public string InsideAvailOption { get { return _InsideAvailOption; } set { _InsideAvailOption = value; } }
        //20
        string _GenTrafRestriction = "";
        public string GenTrafRestriction { get { return _GenTrafRestriction; } set { _GenTrafRestriction = value; } }
        //21
        string _DaysOperates = "";
        public string DaysOperates { get { return _DaysOperates; } set { _DaysOperates = value; } }
        //22
        string _JrnyTm = "";
        public string JrnyTm { get { return _JrnyTm; } set { _JrnyTm = value; } }
        //23
        string _EndDt = "";
        public string EndDt { get { return _EndDt; } set { _EndDt = value; } }
        //24
        string _OpAirV = "";
        public string OpAirV { get { return _OpAirV; } set { _OpAirV = value; } }
        //25
        string _OpFltDesignator = "";
        public string OpFltDesignator { get { return _OpFltDesignator; } set { _OpFltDesignator = value; } }
        //26
        string _OpFltSuf = "";
        public string OpFltSuf { get { return _OpFltSuf; } set { _OpFltSuf = value; } }
        //27
        string _StartTerminal = "";
        public string StartTerminal { get { return _StartTerminal; } set { _StartTerminal = value; } }
        //28
        string _EndTerminal = "";
        public string EndTerminal { get { return _EndTerminal; } set { _EndTerminal = value; } }
        //29
        string _FltTm = "";
        public string FltTm { get { return _FltTm; } set { _FltTm = value; } }
        //30
        string _LSAInd = "";
        public string LSAInd { get { return _LSAInd; } set { _LSAInd = value; } }
        //31
        string _GalileoAirVInd = "";
        public string GalileoAirVInd { get { return _GalileoAirVInd; } set { _GalileoAirVInd = value; } }
        //32
        string _ETktEligibility = "";
        public string ETktEligibility { get { return _ETktEligibility; } set { _ETktEligibility = value; } }
        //33
        string _ScheduleLevelCarrier = "";
        public string ScheduleLevelCarrier { get { return _ScheduleLevelCarrier; } set { _ScheduleLevelCarrier = value; } }
        //34
        string _FrstDwnlnStp = "";
        public string FrstDwnlnStp { get { return _FrstDwnlnStp; } set { _FrstDwnlnStp = value; } }
        //35
        string _LastDwnlnStp = "";
        public string LastDwnlnStp { get { return _LastDwnlnStp; } set { _LastDwnlnStp = value; } }
        //36
        string _SponsoredFltInd = "";
        public string SponsoredFltInd { get { return _SponsoredFltInd; } set { _SponsoredFltInd = value; } }
        //37
        string _SponsoredFltLineNum = "";
        public string SponsoredFltLineNum { get { return _SponsoredFltLineNum; } set { _SponsoredFltLineNum = value; } }
        //38
        string _NeutralFltLineNum = "";
        public string NeutralFltLineNum { get { return _NeutralFltLineNum; } set { _NeutralFltLineNum = value; } }
        //39
        string _SponsoredFltKey = "";
        public string SponsoredFltKey { get { return _SponsoredFltKey; } set { _SponsoredFltKey = value; } }

        //Các thành phần ngoài XML
        //Class info
        string _ClassAdult = "";
        public string ClassAdult { get { return _ClassAdult; } set { _ClassAdult = value; } }

        string _ClassChild = "";
        public string ClassChild { get { return _ClassChild; } set { _ClassChild = value; } }

        string _ClassInfant = "";
        public string ClassInfant { get { return _ClassInfant; } set { _ClassInfant = value; } }

        List<Pax> _ListPax = new List<Pax>();
        public List<Pax> ListPax { get { return _ListPax; } set { _ListPax = value; } }

        List<PaxType> _ListPaxType = new List<PaxType>();
        public List<PaxType> ListPaxType { get { return _ListPaxType; } set { _ListPaxType = value; } }

        //Airport Info
        tblGeoAirport _StartPointAirport = new tblGeoAirport();
        public tblGeoAirport StartPointAirport { get { return _StartPointAirport; } set { _StartPointAirport = value; } }

        tblGeoAirport _EndPointAirport = new tblGeoAirport();
        public tblGeoAirport EndPointAirport { get { return _EndPointAirport; } set { _EndPointAirport = value; } }

        //City Info
        tblGeoCity _StartPointCity = new tblGeoCity();
        public tblGeoCity StartPointCity { get { return _StartPointCity; } set { _StartPointCity = value; } }

        tblGeoCity _EndPointCity = new tblGeoCity();
        public tblGeoCity EndPointCity { get { return _EndPointCity; } set { _EndPointCity = value; } }

        tblGeoCity _FrstDwnlnStpCity = new tblGeoCity();
        public tblGeoCity FrstDwnlnStpCity { get { return _FrstDwnlnStpCity; } set { _FrstDwnlnStpCity = value; } }

        tblGeoCity _LastDwnlnStpCity = new tblGeoCity();
        public tblGeoCity LastDwnlnStpCity { get { return _LastDwnlnStpCity; } set { _LastDwnlnStpCity = value; } }

        //Country Info
        tblGeoCountry _StartPointCountry = new tblGeoCountry();
        public tblGeoCountry StartPointCountry { get { return _StartPointCountry; } set { _StartPointCountry = value; } }

        tblGeoCountry _EndPointCountry = new tblGeoCountry();
        public tblGeoCountry EndPointCountry { get { return _EndPointCountry; } set { _EndPointCountry = value; } }

        //AirlineDetail
        tblAirline _AirlineDetail = new tblAirline();
        public tblAirline AirlineDetail { get { return _AirlineDetail; } set { _AirlineDetail = value; } }

        tblAirline _OpAirlineDetail = new tblAirline();
        public tblAirline OpAirlineDetail { get { return _OpAirlineDetail; } set { _OpAirlineDetail = value; } }

        //Is last item
        string _IsLastItem = "0";
        public string IsLastItem { get { return _IsLastItem; } set { _IsLastItem = value; } }

        //Stop Airport
        tblGeoAirport _StopAirport = new tblGeoAirport();
        public tblGeoAirport StopAirport { get { return _StopAirport; } set { _StopAirport = value; } }

        //Stop City
        tblGeoCity _StopCity = new tblGeoCity();
        public tblGeoCity StopCity { get { return _StopCity; } set { _StopCity = value; } }

        //Stop Time
        TimeSpan _StopTime = new TimeSpan();
        public TimeSpan StopTime { get { return _StopTime; } set { _StopTime = value; } }

        //StopOvernight
        string _StopOvernight = "0";
        public string StopOvernight { get { return _StopOvernight; } set { _StopOvernight = value; } }

        //ChangeStation
        string _ChangeStation = "0";
        public string ChangeStation { get { return _ChangeStation; } set { _ChangeStation = value; } }

        //ChangeAirport
        string _ChangeAirport = "";
        public string ChangeAirport { get { return _ChangeAirport; } set { _ChangeAirport = value; } }

        //Non refund
        bool _NonRefund = false;
        public bool NonRefund { get { return _NonRefund; } set { _NonRefund = value; } }

        //IBE
        string _IBE = "";
        public string IBE { get { return _IBE; } set { _IBE = value; } }
        #endregion

        #region Method
        public AvailFlt ShallowCopy()
        {
            return (AvailFlt)this.MemberwiseClone();
        }

        #endregion
    }

    public class AirAvail
    {
        List<AvailFlt> _ListAvailFlt = new List<AvailFlt>();
        public List<AvailFlt> ListAvailFlt { get { return _ListAvailFlt; } set { _ListAvailFlt = value; } }
    }
}